package TDALista;

/**
 * Clase DNode que mantiene la referencia al anterior y al siguiente 
 */
public class DNode<E> implements Position<E> {
	
	protected E element;
	protected DNode<E> next;
	protected DNode<E> prev;

/**
 * Constructor trivial de la clase
 * @param Elemento del Nodo
 */
	public DNode(E e){
		element=e;
		next=null;
		prev=null;
	}

	/**
	 * Retorna el elemento que contiene el nodo
	 */
	public E element(){
		return element;
	}
	
/**
 * Setea el elemento del Nodo	
 * @param e Elemento nuevo
 */
	public void setElement(E e){
		element=e;
	}
	
/**
 * Setea la referencia al proximo Nodo	
 * @param nex Proximo Nodo
 */
	public void setNext(DNode<E> nex){
		next=nex;
	}

	/**
	 * Retorna el nodo siguiente
	 */
	public DNode<E> getNext(){
		return next;
	}
	
	/**
	 * Setea la referencia al anterior
	 * @param  pre Anterior Nodo
	 */
	public void setPrev(DNode<E> pre){
		prev=pre;
	}
	
	/**
	 * Devuelve el Nodo anterior
	 */
	public DNode<E> getPrev(){
		return prev;
	}

}
